1. Field of the Invention
The present invention relates to a numerical control device used in motor control, robot control, and the like, and specifically relates to a numerical control device that realizes high-speed input and output of external signals in a servo controller.
2. Description of Related Art
Numerical control devices are used in computer numerical control (CNC) for controlling machine tools. Robot controllers, which control a motor in a robot, have a configuration similar to the numerical control devices for the CNC. A numerical control device according to the present invention is not limited to a numerical control device for the CNC, but includes a robot controller.
To manufacture the numerical control devices, a main controller for overall control, a programmable logic controller (PLC) having a sequence function to control input and output of signals to and from a machine, a servo controller to input and output signals to and from a servomotor through a servo interface (hereinafter sometimes abbreviated by I/F), and an arithmetic unit (DSP) for performing arithmetic processing on a servo control signal are connected to the other components of the device at data input-output (I/O) interfaces, user interfaces, peripheral device interfaces, and the like through a parallel data bus (hereinafter sometimes abbreviated by bus), to establish communications among the components.
The numerical control devices must have a configuration that sufficiently meets required specifications and takes cost into consideration. At this time, it is desirable to consider improvement in the performance of the components to be used, a change in a delivery system of the components, and the like. To manufacture the numerical control devices, a general-purpose processor (CPU) and DSP are commonly used to form the main controller and the PLC. On the other hand, reducing the number of the components is effective at reducing the costs, and therefore the components other than the CPU and the DSP, i.e., the servo controller and the other circuits are integrated into a single integrated circuit (IC). Such an IC is referred to as an application specific integrated circuit (ASIC). When the components other than the CPU and the DSP are integrated into the ASIC in the above configuration having the bus, the CPU, the DSP, and the ASIC are connected to the bus, and the bus is included in the ASIC.
Furthermore, multicore CPUs and serial interfaces have been developed. The main controller and the PLC can be easily configured in one multicore CPU. In the configuration having the CPU and the ASIC, when a high speed serial interface such as PCI Express™ or the like substitutes for the bus, communications are performed through the serial interface between the CPU and the ASIC, while communications are performed through the bus in the ASIC.
It is important for communications in the numerical control device to secure communication performance between the main controller (in the CPU) and the servo controller (in the ASIC). The communication performance exerts an influence on the performance of an object to be controlled such as a machine or a robot.
As techniques associated with an increase in the speed and performance of the numerical control devices, the following proposals are described (for example, Japanese Unexamined Patent Publications (Kokai) No. 2013-054730 (hereinafter referred to as “patent document 1”), No. 2003-316408 (hereinafter referred to as “patent document 2”), No. 2014-211721 (hereinafter referred to as “patent document 3”), and No. 09-073310 (hereinafter referred to as “patent document 4”)). The patent document 1 discloses a configuration in which a motor control processor in a motor controller is constituted of a multicore DSP, and connected to a motor control amplifier through a high-speed serial interface (refer to paragraphs [0016] to [0018] and FIG. 1). The multicore CPU has the functions of numerical control, motor control, and the PLC, and connected to a bus bridge, which also has the function of communication control, through a high speed serial communication interface.
The patent document 2 discloses a configuration in which a high-speed CPU, which is driven by an operating system having a low data processing capacity and a high processing speed, processes low volume data that has a direct effect on the processing speed, I/O among components of a machine tool, and the like. Another low-speed CPU, which is driven by an operating system having a high data processing capacity and a low processing speed, processes high volume data that has no direct effect on the processing speed, while sharing data with the high-speed CPU. Such a configuration allows controlling the machine tool at a high speed with high performance (for example, refer to paragraph [0017] and FIG. 3). Also, the relationship between a data processing capacity and a processing time, relative to the contents of processed data, is described (for example, refer to paragraph [0016] and FIG. 2). The patent document 2 also discloses that the high-speed CPU reads and processes data stored in an information sharing unit at a high speed, and generates a control signal from the processed data to control a servomotor (refer to paragraph [0026]).
The patent document 3 discloses a numerical control device having a numerical controller and a robot controller. Numerical control and robot control, which are conventionally performed by different processors, are integrated into a multicore processor.
The patent document 4 discloses a numerical control device that uses a network for connecting controllers, in order to reduce complication of cable connection.
Furthermore, in the numerical control devices, an external input signal of external input and output (I/O) signals is transmitted to the main controller and subjected to some sort of process. For example, an input signal associated with servo control is processed by the main controller, and then a control signal according to a processing result is transmitted to the servo controller. When the CPU having the main controller and the ASIC having the servo controller are connected through the high-speed serial interface, as described above, a signal is transmitted from the main controller to the servo controller through the high-speed serial interface and a bus included in the ASIC. Also, the ASIC is provided with an input and output unit for the I/O signals, and an input signal that is not required to be processed by the main controller is transmitted from the input and output unit to the servo controller through the bus in the ASIC. Since the servo controller is connected to the internal bus of the ASIC, input signals of the servo controller are anyway transmitted through the bus. The input signals of the servo controller includes emergency signals, such as an emergency stop signal for an operating motor from the outside and a change command signal to a predetermined rotation state of the motor. Besides, some of the input signals, such as a signal that notifies a processing machine of the completion of a certain operation, require high responsivity of the servo controller to the signals. In punching process by punch press sheet-metal processing machines, it is desirable that the processing machines immediately shift to the next step upon detecting a sheet-metal punching completion signal, in order to shorten cycle time. Also, in sheet-metal bending process using press brakes, it is desirable that the processing machines immediately shift to the next step upon detecting a completion signal indicating that a bending angle of sheet metal has reached a predetermined angle, in order to shorten cycle time. Also, it is desirable that cylinder grinders immediately shift to the next step as soon as workpieces have reached a predetermined diameter or surface roughness during processing, in order to shorten cycle time. As described above, the input signals of the servo controller have a delay because of being transmitted through the bus. Especially, there is a problem that, even if communications of the input signals have higher priority, when high volume data is being transferred through the bus, the delay is increased due to time required for the data to be evacuated from the bus.